textview: give pixelcache access to style context
authorChristian Hergert <christian@hergert.me>
Tue, 8 Sep 2015 22:36:07 +0000 (15:36 -0700)
committerChristian Hergert <christian@hergert.me>
Sun, 13 Sep 2015 20:41:19 +0000 (13:41 -0700)
This changes textview to share the style context with the pixelcache.
Doing so allows pixel cache to optimize the surface creation and use
a CAIRO_CONTENT_COLOR instead of CAIRO_CONTENT_COLOR_ALPHA when
appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=754658

gtk/gtktextview.c

index 6dd70c4552a8334ef3623cfd00830bf1105665c6..697d63f53ee7834ebb682f18a89e7d749a341018 100644 (file)
@@ -1644,6 +1644,7 @@ gtk_text_view_init (GtkTextView *text_view)
   GtkWidget *widget = GTK_WIDGET (text_view);
   GtkTargetList *target_list;
   GtkTextViewPrivate *priv;
+  GtkStyleContext *style_context;
 
   text_view->priv = gtk_text_view_get_instance_private (text_view);
   priv = text_view->priv;
@@ -1652,6 +1653,9 @@ gtk_text_view_init (GtkTextView *text_view)
 
   priv->pixel_cache = _gtk_pixel_cache_new ();
 
+  style_context = gtk_widget_get_style_context (GTK_WIDGET (text_view));
+  _gtk_pixel_cache_set_style_context (priv->pixel_cache, style_context);
+
   /* Set up default style */
   priv->wrap_mode = GTK_WRAP_NONE;
   priv->pixels_above_lines = 0;